Conventional computing environments employing a matrix-based mathematical programming language (e.g., MATLAB® software by The MathWorks, Inc. of Natick, Mass.) operate on numeric arrays of vectors and matrices, character arrays, and cell arrays. Both numeric arrays and character arrays must include only homogeneous data. Cell arrays, however, may include heterogeneous data and can include any type of data supported by the data processing software, such as, for example: logical data, character data, various types of numeric data (e.g., numeric scalar data and numeric arrays), other cell arrays, structures, java classes, function handles, and any new data types created using an object-oriented class definition (e.g., any new data types created using a MATLAB object system, such as, for example, MATLAB oops, uud, and moos object systems).
FIG. 1 illustrates an exemplary prior art cell array. The cell array depicted in FIG. 1 is defined and displayed using the following pseudocode:
>> cellarray1={[1 2] ‘Tony’ 3+4i; [1 2;3 4] −5 ‘abc’};
>> celldisp(cellarray1)
To obtain values in a cell array C, the following pseudocode command is used:
C{r,c}
where r is the row number and c is the column number. Continuing the example, to obtain values in the cell array of FIG. 1, the following pseudocode commands may be used:
>>cellarray1{1,1}
ans=                1 2        
>>cellarray1{2,1}
ans=                1 2        3 4        
>>cellarray1{1,2}
ans=                ‘Tony’        
>>cellarray1{2,2}
ans=                −5        
>>cellarray1{1,3}
ans=                3.0000+ 4.0000i        
>>cellarray1{2,3}
ans=                ‘abc’        
Statistical datasets often have a structure that is not as homogeneous as a purely numeric array, but has more structure than a cell array. A typical statistical dataset may include a set of variables measured on a collection of subjects (also referred to as, for example, cases or observations). Such a statistical dataset may often be represented as a table with columns representing the variables and rows representing the subjects. An entry in such a table may be a scalar numeric value, a numeric array, a value chosen from some finite set (e.g., red, green, or blue), an arbitrary text string, or some other data type. Existing conventional computing environments employing a matrix-based mathematical programming language do not provide a convenient way for processing this type of statistical dataset.